1. Field of the Invention
Embodiments of the present invention relate to the field of Java-based embedded device management applications. More particularly, embodiments of the present invention relate generally to accessing information from Java-based embedded device management applications from a client workstation.
2. Related Art
An embedded application (e.g., device management application) is an application which neither needs to be explicitly installed on a client workstation, nor actually installs pieces on a client workstation. The embedded application comes with the device and can be accessed through some network (e.g., the Internet). As soon as there is Internet protocol (IP) connectivity between a client workstation and the device, a user can bring up the embedded application within a browser on the client workstation.
The advantages of having an embedded application is that a user that is Web-enabled can access information associated with the embedded application and interact with the embedded application without having to load or install anything onto the client workstation. As a result, via any workstation that is Web-enabled, a user can access and interact with the embedded application.
One of the disadvantages of having an embedded application on a device is that the device needs to provide some HTTP server capabilities to interact with the Web-enabled workstation. However, processing power from the central processing unit (CPU) on the device is extremely limited, and as such, the device can only provide limited HTTP server capabilities. Also, memory (e.g., flash memory) on the device is extremely limited, which reduces the ability to store larger applications. Therefore, storing any content in a compressed format on the device is highly desirable.
Information that is associated with the embedded application (e.g., a help system of a device management application) can be implemented as a set of interlinked hypertext markup language (HTML) files that are accessed through a browser window on a client workstation. Since the browser can only show files which it can retrieve via the hypertext transfer protocol (HTTP), an HTTP server needs to be located where it can serve the corresponding HTML files (e.g., the help system of the device management application). Typically, the HTTP server is located on the device, and is used to access the information located on the device.
Since there is typically insufficient processing power available from the CPU for providing more complex and dynamic HTTP server capabilities, a well-established technique is to implement the embedded application as a Java applet, that is running within the Java virtual machine (JVM) of the browser on the client workstation. Information that is associated with the embedded application (e.g., the help system) is still stored on the device, but is accessed through standard management communication protocols that allow the client workstation to communicate with the device. However, because of the limited CPU power, the device can only act as a “dumb” HTTP server, and can only serve static files from its memory. In this case, the static files need to be uncompressed within the client workstation since the device does not have sufficient CPU power for uncompression.